home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 25
/
AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso
/
Updates
/
HD-Installer
/
jst_dev
/
sources
/
OSEmu
/
mathtrans.s
< prev
next >
Wrap
Text File
|
2000-04-12
|
31KB
|
1,288 lines
* $Id: mathtrans.s 1.1 1999/02/03 04:09:05 jotd Exp $
**************************************************************************
* MATHTRANS-LIBRARY *
**************************************************************************
**************************************************************************
* INITIALIZATION *
**************************************************************************
MATHTRANSINIT move.l _mtrbase,d0
beq .init
rts
.init move.l #-_LVOSPDiv,d0
move.l #LIB_SIZE,D1
lea _mtrname,a0
jsr _InitLibrary
move.l d0,a0
move.l d0,_mtrbase
patch _LVOSPAtan(a0),SPAtan(pc)
rts
; IRA V1.05beta (9.6.95) (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)
ABSEXECBASE EQU $4
EXT_0003 EQU $31290D0A
EXT_0004 EQU $FFFFFFAC
EXT_0005 EQU $FFFFFFB2
EXT_0006 EQU $FFFFFFB8
EXT_0007 EQU $FFFFFFBE
EXT_0008 EQU $FFFFFFC4
EXT_0009 EQU $FFFFFFCA
EXT_000A EQU $FFFFFFD0
EXT_000B EQU $FFFFFFD6
EXT_000C EQU $FFFFFFDC
EXT_000D EQU $FFFFFFE2
ROMTAG:
ILLEGAL ;000: 4AFC
DC.L ROMTAG ;002: 00000000
DC.L ENDSKIP ;006: 00000C10
dc.w $8125
dc.w $0900
DC.L LIBNAME ;00E: 0000001A
DC.L IDSTRING ;012: 0000002C
DC.L INIT+2 ;016: 00000048
LIBNAME:
DC.W $6D61
dc.w $7468
dc.w $7472
dc.w $616E
DC.W $732E
DC.W $6C69
dc.w $6272
dc.w $6172
DC.W $7900
IDSTRING:
DC.W $6D61
dc.w $7468
dc.w $7472
dc.w $616E
DC.W $7320
DC.W $3337
dc.l $2E312028
DC.W $3232
DC.W $2E31
dc.l $31290D0A
INIT:
dc.l $00000000
DC.W $0022
DC.L FUNCTABLE ;04C: 0000007C
DC.L DATATABLE ;050: 00000060
DC.L INITFUNCTION ;054: 00000058
INITFUNCTION:
MOVE.L A0,LAB_0015 ;058: 23C800000188
RTS ;05E: 4E75
DATATABLE:
DC.W $A008
dc.w $0900
DC.W $800A
DC.L LIBNAME
dc.w $9016
DC.W $0001
dc.w $9014
DC.W $0025
DC.W $A00E
DC.W $0600
dc.w $9020
dc.l $00000000
FUNCTABLE:
DC.L OPEN ;07C: 00000116
DC.L CLOSE ;080: 00000152
DC.L EXPUNGE ;084: 000000D4
DC.L INITFUNCTION ;088: 00000058
DC.L LIBFUNC_0 ;08C: 00000456
DC.L LIBFUNC_1 ;090: 00000460
DC.L LIBFUNC_2 ;094: 0000046A
DC.L LIBFUNC_3 ;098: 00000474
DC.L LIBFUNC_4 ;09C: 0000047E
DC.L LIBFUNC_5 ;0A0: 0000049C
DC.L LIBFUNC_6 ;0A4: 000004A6
DC.L LIBFUNC_7 ;0A8: 000004B0
DC.L LIBFUNC_8 ;0AC: 000004BA
DC.L LIBFUNC_9 ;0B0: 000004C4
DC.L LIBFUNC_10 ;0B4: 000004D8
DC.L LIBFUNC_11 ;0B8: 000001A8
DC.L LIBFUNC_12 ;0BC: 000004E2
DC.L LIBFUNC_13 ;0C0: 000004EC
DC.L LIBFUNC_14 ;0C4: 00000442
DC.L LIBFUNC_15 ;0C8: 0000044C
DC.L LIBFUNC_16 ;0CC: 000004CE
DC.L -1
EXPUNGE:
TST 32(A6) ;0D4: 4A6E0020
BNE.S LAB_000C ;0D8: 6632
MOVEA.L A6,A1 ;0DA: 224E
MOVEA.L (A1),A0 ;0DC: 2051
MOVEA.L 4(A1),A1 ;0DE: 22690004
MOVE.L A0,(A1) ;0E2: 2288
MOVE.L A1,4(A0) ;0E4: 21490004
MOVEA.L A6,A1 ;0E8: 224E
MOVEQ #0,D0 ;0EA: 7000
MOVE 16(A6),D0 ;0EC: 302E0010
SUBA D0,A1 ;0F0: 92C0
ADD 18(A6),D0 ;0F2: D06E0012
MOVE.L A6,-(A7) ;0F6: 2F0E
MOVEA.L ABSEXECBASE,A6 ;0F8: 2C7900000004
JSR -210(A6) ;0FE: 4EAEFF2E
MOVEA.L (A7)+,A6 ;102: 2C5F
MOVE.L LAB_0015,D0 ;104: 203900000188
RTS ;10A: 4E75
LAB_000C:
BSET #3,14(A6) ;10C: 08EE0003000E
MOVEQ #0,D0 ;112: 7000
RTS ;114: 4E75
OPEN:
BTST #3,14(A6) ;116: 082E0003000E
BNE.S LAB_000F ;11C: 6630
ADDQ #1,32(A6) ;11E: 526E0020
CMPI #$0001,32(A6) ;122: 0C6E00010020
BNE.S LAB_000E ;128: 6620
MOVE.L ABSEXECBASE,LAB_0013 ;12A: 23F90000000400000180
CLR.L -(A7) ;134: 42A7
PEA LAB_0016 ;136: 48790000018C
JSR LAB_00B0 ;13C: 4EB900000C34
ADDQ.L #8,A7 ;142: 508F
MOVE.L D0,LAB_0014 ;144: 23C000000184
LAB_000E:
MOVE.L A6,D0 ;14A: 200E
RTS ;14C: 4E75
LAB_000F:
MOVEQ #-1,D0 ;14E: 70FF
RTS ;150: 4E75
MATHTRCLOSE:
MOVEQ #0,D0 ;152: 7000
SUBQ #1,32(A6) ;154: 536E0020
BNE.S LAB_0011 ;158: 660C
BTST #3,14(A6) ;15A: 082E0003000E
BEQ.S LAB_0011 ;160: 6704
BSR EXPUNGE ;162: 6100FF70
LAB_0011:
MOVE.L D0,-(A7) ;166: 2F00
TST 32(A6) ;168: 4A6E0020
BNE.S LAB_0012 ;16C: 660E
MOVE.L LAB_0014,-(A7) ;16E: 2F3900000184
JSR ENDSKIP ;174: 4EB900000C10
ADDQ.L #4,A7 ;17A: 588F
LAB_0012:
MOVE.L (A7)+,D0 ;17C: 201F
RTS ;17E: 4E75
LAB_0013:
ORI.B #$00,D0 ;180: 00000000
LAB_0014:
ORI.B #$00,D0 ;184: 00000000
LAB_0015:
ORI.B #$00,D0 ;188: 00000000
LAB_0016:
DC.W $6D61
dc.w $7468
dc.w $6666
dc.w $702E
DC.W $6C69
dc.w $6272
dc.w $6172
DC.W $7900
LAB_0017:
ANDI.B #$7F,D0 ;19C: 0200007F
BSR.S LIBFUNC_11 ;1A0: 6106
ORI.B #$02,CCR ;1A2: 003C0002
RTS ;1A6: 4E75
LIBFUNC_11:
MOVE.B D0,D1 ;1A8: 1200
BEQ.S LAB_0020 ;1AA: 6760
BMI.S LAB_0017 ;1AC: 6BEE
MOVEM.L D4-D6,-(A7) ;1AE: 48E70E00
LSR.B #1,D1 ;1B2: E209
BCC.S LAB_0019 ;1B4: 6404
ADDQ.B #1,D1 ;1B6: 5201
LSR.L #1,D0 ;1B8: E288
LAB_0019:
ADDI.B #$20,D1 ;1BA: 06010020
SWAP D1 ;1BE: 4841
MOVE #$0017,D1 ;1C0: 323C0017
LSR.L #7,D0 ;1C4: EE88
MOVE.L D0,D4 ;1C6: 2800
MOVE.L D0,D5 ;1C8: 2A00
MOVE.L #$00200000,D6 ;1CA: 2C3C00200000
MOVE.L #$00800000,D0 ;1D0: 203C00800000
SUB.L D0,D4 ;1D6: 9880
SUBI.L #$01200000,D5 ;1D8: 048501200000
BRA.S LAB_001C ;1DE: 600E
LAB_001A:
BSET D1,D0 ;1E0: 03C0
MOVE.L D5,D4 ;1E2: 2805
LAB_001B:
ADD.L D4,D4 ;1E4: D884
MOVE.L D4,D5 ;1E6: 2A04
LSR.L #1,D6 ;1E8: E28E
SUB.L D6,D5 ;1EA: 9A86
SUB.L D0,D5 ;1EC: 9A80
LAB_001C:
DBMI D1,LAB_001A ;1EE: 5BC9FFF0
DBPL D1,LAB_001B ;1F2: 5AC9FFF0
BLS.S LAB_001E ;1F6: 630A
LAB_001D:
CMPI.L #$00FFFFFF,D0 ;1F8: 0C8000FFFFFF
BEQ.S LAB_001E ;1FE: 6702
ADDQ.L #1,D0 ;200: 5280
LAB_001E:
LSL.L #8,D0 ;202: E188
SWAP D1 ;204: 4841
MOVE.B D1,D0 ;206: 1001
LAB_001F:
MOVEM.L (A7)+,D4-D6 ;208: 4CDF0070
LAB_0020:
RTS ;20C: 4E75
DC.W $0000
LAB_0021:
MOVE.L D0,D7 ;210: 2E00
TST.B D7 ;212: 4A07
JSR LAB_00AF ;214: 4EB900000C24
BSET #1,D0 ;21A: 08C00001
BCLR #3,D0 ;21E: 08800003
BRA LAB_0031 ;222: 6000019A
LAB_0022:
MOVE.L D6,-(A7) ;226: 2F06
MOVE.L D3,D0 ;228: 2003
MOVE.L #$B18D0BC3,D1 ;22A: 223CB18D0BC3
JSR -66(A5) ;230: 4EADFFBE
MOVE.L D3,D1 ;234: 2203
JSR -78(A5) ;236: 4EADFFB2
MOVE.L #$B350F043,D1 ;23A: 223CB350F043
JSR -66(A5) ;240: 4EADFFBE
MOVE.L D0,D6 ;244: 2C00
MOVE.L D3,D0 ;246: 2003
MOVE.L #$812065C0,D1 ;248: 223C812065C0
JSR -78(A5) ;24E: 4EADFFB2
MOVE.L #$EF166B40,D1 ;252: 223CEF166B40
JSR -66(A5) ;258: 4EADFFBE
MOVE.L D3,D1 ;25C: 2203
JSR -78(A5) ;25E: 4EADFFB2
MOVE.L D6,D1 ;262: 2206
JSR -84(A5) ;264: 4EADFFAC
MOVE.L D5,D1 ;268: 2205
JSR -78(A5) ;26A: 4EADFFB2
MOVE.L D5,D1 ;26E: 2205
JSR -66(A5) ;270: 4EADFFBE
MOVE.L (A7)+,D6 ;274: 2C1F
RTS ;276: 4E75
LAB_0023:
CLR.L D1 ;278: 4281
BRA.S LAB_0025 ;27A: 6002
LAB_0024:
MOVEQ #1,D1 ;27C: 7201
LAB_0025:
MOVEM.L D2-D6/A5,-(A7) ;27E: 48E73E04
MOVE.L D1,D6 ;282: 2C01
MOVEA.L LAB_0014,A5 ;284: 2A7900000184
MOVE.L D7,D0 ;28A: 2007
JSR -54(A5) ;28C: 4EADFFCA
MOVE.L D0,D5 ;290: 2A00
MOVE.L #$80000040,D1 ;292: 223C80000040
JSR -42(A5) ;298: 4EADFFD6
BLT LAB_0026 ;29C: 6D000052
MOVE.L D5,D0 ;2A0: 2005
MOVE.L #$80000041,D1 ;2A2: 223C80000041
JSR -42(A5) ;2A8: 4EADFFD6
BGT LAB_0021 ;2AC: 6E00FF62
MOVEQ #1,D4 ;2B0: 7801
SUB.L D6,D4 ;2B2: 9886
MOVE.L #$80000040,D0 ;2B4: 203C80000040
MOVE.L D5,D1 ;2BA: 2205
JSR -72(A5) ;2BC: 4EADFFB8
MOVE.L #$80000040,D1 ;2C0: 223C80000040
JSR -66(A5) ;2C6: 4EADFFBE
MOVE.L #$80000042,D1 ;2CA: 223C80000042
JSR -84(A5) ;2D0: 4EADFFAC
MOVE.L D0,D3 ;2D4: 2600
BSR LIBFUNC_11 ;2D6: 6100FED0
MOVE.L #$800000C2,D1 ;2DA: 223C800000C2
JSR -78(A5) ;2E0: 4EADFFB2
MOVE.L D0,D5 ;2E4: 2A00
BSR LAB_0022 ;2E6: 6100FF3E
MOVE.L D0,D2 ;2EA: 2400
BRA LAB_0028 ;2EC: 6000002C
LAB_0026:
MOVE.L D6,D4 ;2F0: 2806
MOVE.L D5,D0 ;2F2: 2005
MOVE.L #$00000000,D1 ;2F4: 223C00000000
JSR -42(A5) ;2FA: 4EADFFD6
BLE LAB_0027 ;2FE: 6F000018
MOVE.L D5,D0 ;302: 2005
MOVE.L D5,D1 ;304: 2205
JSR -78(A5) ;306: 4EADFFB2
MOVE.L D0,D3 ;30A: 2600
MOVE.L D0,D2 ;30C: 2400
BSR LAB_0022 ;30E: 6100FF16
MOVE.L D0,D2 ;312: 2400
BRA LAB_0028 ;314: 60000004
LAB_00